package com.bjpowernode.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpSession;

//1——浏览器第一次访问tomcat的时候【需要使用HttpSession】,则Tomcat会创建一个HttpSession对象，并且产生一个SessionID
//2——tomcat响应的时候会吧SessionID响应到浏览器的cookies里面存储，前提是浏览器请求的时候没有在cookies中携带SessionID
//3——浏览器请求的时候如果有在cookies中携带SessionID，则tomcat会查找自己的SessionID集合，如果有则无变化，如果没有会响应一个新的SessionID
//4——浏览器请求的时候如果关闭了cookies功能，则无法携带SessionID，但是可以采用URL挂参数jsessionid的办法携带SessionID
//5——如果浏览器无法请求的时候给出SessionID参数，Tomcat会无限次的创建Session对象和SessionID
//6——Tomcat响应的SessionID存储在浏览器的cookies中，
// 6-1——cookies的数据可以永久存储到硬盘中（浏览器关闭还在），也可以存储到缓存中（浏览一关闭，就没有了）
// 6-1——cookies的JSESSIONID存储在缓存中（浏览一关闭，就没有了）
//7——HttpSession对象销毁时机为超时，关闭浏览器行为只能让SessionID丢失
//cookies是客户端数据，存储在本地机
//HttpSession是服务端数据，存储在服务器（Tomcat在的机器）
//HttpSession浏览量所有页面共享数据

@RestController
@RequestMapping("/session")
public class MySession {

    @RequestMapping("set.action")
    public String set(HttpSession httpSession){
        httpSession.setAttribute("s1","aaaaaaaaaaaaaaa");
        return "session设置完毕";
    }

    @RequestMapping("get.action")
    public String get(HttpSession httpSession){
        String s1 = (String)httpSession.getAttribute("s1");
        return s1;
    }

}
